package com.ruoyi.system.service;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Classes;
import com.ruoyi.system.domain.Student;
import org.springframework.web.multipart.MultipartFile;

/**
 * 班级Service接口
 * 
 * @author ruoyi
 * @date 2024-03-15
 */
public interface IClassesService 
{
    /**
     * 查询班级
     * 
     * @param cid 班级主键
     * @return 班级
     */
    public Classes selectClassesByCid(Long cid);

    //查询班级对应学生列表
    List<Map<Classes, List<Student>>> selectOneToMoreClass(Integer gid);

    //用户上传Excel进行分班
    String uploadAndUpdateByDivision(MultipartFile file) throws IOException;

    //分班
    int division();

    /**
     * 查询班级列表
     * 
     * @param classes 班级
     * @return 班级集合
     */
    public List<Classes> selectClassesList(Classes classes);

    /**
     * 新增班级
     * 
     * @param classes 班级
     * @return 结果
     */
    public int insertClasses(Classes classes);

    /**
     * 修改班级
     * 
     * @param classes 班级
     * @return 结果
     */
    public int updateClasses(Classes classes);

    /**
     * 批量删除班级
     * 
     * @param cids 需要删除的班级主键集合
     * @return 结果
     */
    public int deleteClassesByCids(Long[] cids);

    /**
     * 删除班级信息
     * 
     * @param cid 班级主键
     * @return 结果
     */
    public int deleteClassesByCid(Long cid);
}
